package com.sakura.taos.tool.manipulator.service;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.sakura.taos.tool.manipulator.dao.TaosSysDao;
import com.sakura.taos.tool.manipulator.model.DataBaseNews;
import com.sakura.taos.tool.manipulator.model.Variables;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

import static com.sakura.taos.tool.manipulator.tool.Tool.listByMapToDataBase;

/**
 * 涛思数据
 * 系统操作相关
 *
 * * 显示系统信息
 * * 查询系统中库信息
 *
 * * 删除库
 * * 新增库
 * * 修改库
 *
 * @Author: 贺坤
 * @Date: 2021/1/27 15:34
 */
@Service
@DS("#header.dsName")// 从header 中获取
public class TaosSysService {
    @Autowired
    TaosSysDao taosSys;

    /**
     * 获取服务器信息
     * @return
     */
    public List<Variables> getSysData() {

        return taosSys.getSysData();
    }

    /**
     * 获取服务器库信息
     * @return
     */
    @DS("#dsName")//使用spel从参数获取
    public List<DataBaseNews> getDatabases(String dsName) {
        List<Map<String,Object>> databasesMap = taosSys.getDatabasesMap();
        return listByMapToDataBase(databasesMap);
    }

    /**
     * 获取服务器库信息 , 从header读取DS
     * @return
     */
    public List<DataBaseNews> getDatabases() {
        List<Map<String,Object>> databasesMap = taosSys.getDatabasesMap();
        return listByMapToDataBase(databasesMap);
    }



}
